package ThreadDemo;

import javax.crypto.spec.GCMParameterSpec;
import javax.crypto.spec.PSource;

/*
* sleep方法要求必须处理终端异常InterruptedException
* 当一个线程调用sleep方法处于睡眠阻塞的过程中该线程的interrupt方法被调用，那么此时会立即终止该线程的
* 睡眠阻塞，此时sleep方法会通过抛出异常告知这一现象*/
public class sleepDemo2 {
    public static void main(String[] args) {
        Thread lin =new Thread("林永建"){
            @Override
            public void run() {
                System.out.println(getName()+"刚做好美容睡一会吧....");
                try {
                    Thread.sleep(500000);
                } catch (InterruptedException e) {
                    System.out.println(getName()+"干嘛呢！干嘛呢！干嘛呢！");
                }
                System.out.println(getName()+"醒来了");
            }
        };

        Thread huang=new Thread("黄大锤"){
            public void run() {
                System.out.println(getName()+"大锤八十！小锤五十!开始砸墙");
                try {
                    for (int i = 0; i < 10; i++) {
                        System.out.println("八十！");
                        Thread.sleep(1000);
                    }
                    System.out.println("咣当！");
                    System.out.println("大哥搞定！");
                    lin.interrupt();//huang终端lin睡眠阻塞

                } catch (InterruptedException e) {

                }
            }
        };
        lin.start();
        huang.start();
    }
}
